신규 사이드 프로젝트를 시작하기 위해 MVP 앱을 구성하고 sst로 빠른 배포를 진행했다.
sst config를 구성한 뒤 배포중에 sst와 관련된 에러가 빌드 시점에 발생했다.
.sst/platform/src/components/aws/analog.ts:422:17
Type error: 'serverFunction' is possibly 'undefined'.
420 | path: sitePath,
421 | url: distribution.apply((d) => d.domainUrl ?? d.url),
> 422 | server: serverFunction.arn,
| ^
423 | },
424 | });
425 |
Next.js build worker exited with code: 1 and signal: null
당연히 sst의 config 구성이나 open-next의 버전 문제 등으로 인식하고 이런저런 시도를 해보았다. 하지만 생각보다 오랜 시간을 디버깅했다..
원인은 조금은 다른곳에서 발견되었다.
모노레포를 세팅해본 사람이라면 한번씩은 봤을것이다.모노레포는 특성답게 앱이 다양한 패키지를 바라보고 이를 확장하여 사용할 수 있다.
tsconfig.json|500x299
나는 평소와 같이 모노레포를 create-turbo로 템플릿을 바로 사용했다. 기본 앱에는 tsconfig에서 기본으로 구성되어 있는 package/typescript-config를 끌어와서 사용하고 있다. 근데 단순한 이유로 앱이 해당 패키지를 읽지 못하다보니 extends를 하지 못하고 있었다.
이 패키지를 읽지 못한게 이 이슈의 원인이었다.
sst-deploy-issue-image-2.png|550x226
보통은 에러 메세지를 통한 이슈라면 늦더라도 두어시간이면 해결이 가능했을텐데 에러와 무관한 부분에서 원인을 찾다보니 생각보다 딜레이가 된듯 하다.
오픈소스나 템플릿을 가져다 사용할때는 기본 구성을 주는대로 쓰지말고 내 환경에 맞게 구성해서 쓰자..